using Bean.Entity.Enum;
using SqlSugar;

namespace Bean.Entity;

/// <summary>
/// 政策计划任务
/// </summary>
[SugarTable("policy_rulepolicytask")]
public class PolicyPlanTask
{
    /// <summary>
    /// 任务ID
    /// </summary>
    [SugarColumn(IsPrimaryKey = true, ColumnName = "RulePolicyTaskId")]
    public long RulePolicyTaskId { get; set; }

    /// <summary>
    /// 关键字
    /// </summary>
    [SugarColumn(ColumnName = "PolicyKeyWord")]
    public string PolicyKeyWord { get; set; }

    /// <summary>
    /// 规则Id
    /// </summary>
    [SugarColumn(ColumnName = "RuleId")]
    public long RuleId { get; set; }

    /// <summary>
    /// 创建人
    /// </summary>
    [SugarColumn(ColumnName = "CreateUser")]
    public long CreateUser { get; set; }

    /// <summary>
    /// 创建时间
    /// </summary>
    [SugarColumn(ColumnName = "CreateTime")]
    public DateTime CreateTime { get; set; }

    /// <summary>
    /// 任务开始时间
    /// </summary>
    [SugarColumn(ColumnName = "TaskStartTime")]
    public DateTime TaskStartTime { get; set; }

    /// <summary>
    /// 任务结束时间
    /// </summary>
    [SugarColumn(ColumnName = "TaskEndTime")]
    public DateTime TaskEndTime { get; set; }

    /// <summary>
    /// 服务商ID
    /// </summary>
    [SugarColumn(ColumnName = "SID")] 
    public long SID { get; set; }

    /// <summary>
    /// 操作类型
    /// </summary>
    [SugarColumn(ColumnName = "PolicyType")] 
    public PolicyPlanOperateTypeEnum OperateType { get; set; }
    
    /// <summary>
    /// 执行状态
    /// </summary>
    [SugarColumn(ColumnName = "Status")] 
    public PolicyTaskStatusEnum Status { get; set; }

    /// <summary>
    /// 备注
    /// </summary>
    [SugarColumn(ColumnName = "Remarks")] 
    public string Remarks { get; set; }
}